"""
题目:
兄弟词
abc/bca 这两个组成字母一样但是顺序不一样的单词称为兄弟词， abc/bca/cba/bac
称为一个兄弟词团, 给定一个包含 10 万单词的词典文件， 找出所有的兄弟词团
"""

from collections import defaultdict

def find_brother_word_groups(file_path):
    """
    该函数用于从指定的词典文件中找出所有的兄弟词团
    :param file_path: 词典文件的路径
    :return: 包含所有兄弟词团的列表，每个兄弟词团也是一个列表
    """
    word_dict = defaultdict(list)
    try:
        with open(file_path, "r", encoding="utf-8") as file:
            for line in file:
                word = line.strip()
                sorted_word = "".join(sorted(word))
                word_dict[sorted_word].append(word)

        result = []
        for words in word_dict.values():
            if len(words) > 1:
                result.append(words)
        return result
    except FileNotFoundError:
        print(f"文件 {file_path} 未找到，请检查文件路径。")
        return []


if __name__ == "__main__":
    # 最小测试用例
    brother_words = find_brother_word_groups('test.txt')
    print("兄弟词团: ", brother_words)
